Top 5 des questions et réponses PrestaShop de 2016 Partie 2

Posted On: Sep 17, 2018

Categories: Carros y plataformas de compras

Tags: PrestaShop , fmemodules , pretty url

Question n°1 : Règles pour les URL conviviales dans PrestaShop

Comment puis-je définir des règles pour remplacer ces liens par friendly URLs in PrestaShop , car il y a des liens rompus dans les URL suivantes ?

Je veux convertir cette URL http://www.elektrojo.com/index.php?id_post=2&fc=module&module=nextblog&controller=nbpost en celle-ci http://www.elektrojo.com/blog/2-second-blog

En outre, ces URL pour devenir SEO et convivial

http://www.elektrojo.com/index.php?fc=module&module=nextblog&controller=nblog à http://www.elektrojo.com/blog

http://www.elektrojo.com/index.php?id_collection=1&fc=module&module=nextblog&controller=nbcollection à http://www.elektrojo.com/blog/collection/1-test

http://www.elektrojo.com/index.php?year=2016&month=5&fc=module&module=nextblog&controller=nbarchive à http://www.elektrojo.com/blog/archive/2016-5

Réponse n°1 : il semble que vous ayez gardé le répertoire /blog/ vide dans la racine du domaine. Dès que vous supprimez le répertoire vide ou que vous le renommez, les URL conviviales deviennent opérationnelles et fonctionnent bien pour votre magasin.

Question n° 2 : obtenir une erreur lors de la recherche dans le magasin par ordre alphabétique

Lorsque j’écris quelque chose dans le champ de recherche PrestaShop pour trouver des produits, cela me donne la possibilité d’afficher les résultats par ordre alphabétique ou par ordre de prix. Lorsque je sélectionne un ordre de tri, j’obtiens l’erreur « Page indisponible ». Je pense qu’il y a quelque chose qui ne va pas avec l’URL, car lorsque je sélectionne afficher les résultats par prix, l’URL apparaît comme

buscar&search_query=game&submit_search=?orderby=price&orderway=asc&orderway=asc

qu’il doit être

buscar?search_query=game&submit_search=&orderby=price&orderway=asc&orderway=asc

Comment puis-je résoudre ce problème ?

Réponse n° 2 : de telles erreurs se produisent lorsqu’un module a supprimé les fichiers « override/classes/Link.php » ou « override/controllers/front/SearchController.php » de votre boutique. Pour résoudre le problème, vous devez désactiver les remplacements.

Désactivez les remplacements en passant à Paramètres avancésperformance. Là, sélectionnez « Oui » et il désactivera toutes les substitutions. Demandez conseil dans l’image ci-dessous.

Question n° 3 : Impossible d’afficher les erreurs dans la redirection PrestaShop

Je développe un module qui est alimenté par une API pour aider les utilisateurs à créer un compte dans PrestaShop. L’API est activée avec un bouton pour appeler une URL qui appartient à mon site Web. cela lance une fonction qui permet aux utilisateurs de créer un compte.

Lorsque toutes les informations sont correctes, cela fonctionne bien, mais quand pourrait afficher une erreur lorsqu’un utilisateur crée un compte.

Je souhaite rediriger les utilisateurs vers la page d’authentification qui affiche également les erreurs.

J’ai essayé avec ceci

$this->context->smarty->assign('account_error', $myErrors); Tools::redirect('index.php?controller=authentication');

La redirection fonctionne mais les erreurs semblent perdues.

Existe-t-il un moyen de rediriger et de conserver les erreurs ?

Merci

Réponse n° 3 : Franchement, vous ne pouvez afficher aucune erreur après avoir défini des redirections, alors que vous pouvez utiliser un contrôleur pour afficher les erreurs. Vous pouvez également envisager d’utiliser des boutons qui disent « Corriger les erreurs » qui dirige les utilisateurs vers une page autorisée une fois qu’ils ont cliqué dessus.

Ajoutez ceci à votre manette

if (empty($email)) $this->errors[] = Tools::displayError('Email is empty.');

et dans votre utilisation tpl en haut
{include file="$tpl_dir./errors.tpl"}

Question n°4 : Faire face à des problèmes pour ajouter des catégories aux nouveaux produits dans PrestaShop

Je suis confronté à un problème depuis longtemps et incapable de trouver une solution efficace. Cela se produit lorsque j’ajoute de nouveaux produits à la base de données à l’aide de l’objet produit, mais que je ne pars pas à les classer dans une catégorie. Le produit s’ajoute sans aucun problème mais je ne pars pas attacher les produits à une catégorie.

$cat_ids = []; foreach ($value['kat_naziv'] as $cat_val) { $cat_ids[] = (int)$luceed->selectCategoryIds($cat_val)[$cat_val]['id_category']; } $product->id_category = 3; $product->id_category_default = 3; $product->save(); $product->addToCategories($cat_ids);

Le $cat_ids est un tableau d’entiers que j’ai obtenu de la base de données alors que le nom est quelque chose que je laisse comme paramètre pour choisir les ID de catégorie;

Ma question est de savoir pourquoi les produits nouvellement ajoutés ne sont pas affichés dans la catégorie que je sélectionne pour cela?

Réponse n°4: Une fois que vous avez ajouté un nouveau produit, vous pouvez le lier à des catégories en utilisant le code suivant.

$product->updateCategories($category_array); 

$category_array = array("0" => "2", "1" => "3", "4" => "6"...... );

Questions 5 : Ajouter une liste de produits à ma boutique PrestaShop

Salut

Je suis naïf dans la gestion de la boutique PrestaShop, c’est pourquoi j’ai du mal à ajouter une liste de produits en tissu. Je l’ai essayé à l’aide de deux fichiers CSV (l’un sous forme de liste et l’autre pour une combinaison de produits), mais cela n’a pas fonctionné.

Pour les importations de produits, j’ai ajouté ceci

http://pvmag.ro/Fisiere-directoare/IMPORT%202%20-%20Copy.csv

et pour les combinaisons, j’ai essayé ceci

http://pvmag.ro/Fisiere-directoare/combinations_import.csv

Comment résoudre le problème?

Réponse n° 5 : Peut-être, l’erreur pourrait être l’absence de séparateurs de champ. Assurez-vous que les séparateurs de champ et de plusieurs valeurs correspondent au fichier CVS. Nous avons testé (;) comme séparateur de champ et (,) pour séparer plusieurs valeurs, et cela a bien fonctionné. Vous pouvez également l’essayer.